Computers have become highly integrated in the workforce, in the home, in mobile devices, and many other places. Computers can process massive amounts of information quickly and efficiently. Software applications designed to run on computer systems allow users to perform a wide variety of functions including business applications, schoolwork, entertainment and more. Software applications are often designed to perform specific tasks, such as word processor applications for drafting documents, or email programs for sending, receiving and organizing email.
In many cases, software applications are designed to interact with other software applications or other computer systems. Often, in order to interact with other computers systems, authentication schemes are put into place which ensure that the application user is authorized to connect to the other computer system. Many different types of authentication are in use and new methods are continually springing up. One type of authentication is NT LAN Manager or NTLM.
NTLM is typically used in scenarios where software applications and/or users (i.e. consumers) are connecting to other computer systems remotely. Such consumers typically establish a secure channel to a remote computer system or to a proxy server which establishes a secure channel to the remote computer system. An affinity mapping may be established between the consumer and one of the proxy servers. However, over time, the affinity mapping may change and consumers may begin connecting to different proxy servers. In some cases, this may result in a disproportionate amount of consumers connecting to a given proxy server.